#pragma once
#include<stdio.h>
#include<assert.h>

typedef int DataType;


 typedef struct ListNode {
	DataType data;
	struct ListNode* next;
	struct ListNode* prev;
}ListNode;


void ListPushBack(ListNode* phead, DataType x);
void ListPopBack(ListNode* phead);

ListNode* BuyListNode(DataType x);

void ListPrint(ListNode* phead);

ListNode* ListInit();

void  ListDestory(ListNode** phead);
void  ListClear(ListNode* phead);

void ListPushFront(ListNode* phead, DataType x);
void ListPopFront(ListNode* phead);


ListNode* ListFind(ListNode* phead, DataType x);

void ListInsert(ListNode* pos, DataType x);
void ListEease(ListNode* pos);
